Обычно абстракции начинают с общих интерфейсов, теорий и UML-схем. Но есть и другой подход — идти от конкретики.
➡️ Что это значит: — Сначала пишем код, как будто абстракций не существует — Выявляем повторы, боль, лишнюю связность — Только потом вытаскиваем общие паттерны и оборачиваем в абстракции
Такой путь даёт реальные, работающие абстракции — без фантазий и overengineering.
➡️Какой пример
Вместо создания абстрактной фабрики сразу — начните с двух рабочих реализаций. Только когда появляется третий кейс — имеет смысл обобщать.
Сначала неприятно — потом абстракция. Не наоборот.
Обычно абстракции начинают с общих интерфейсов, теорий и UML-схем. Но есть и другой подход — идти от конкретики.
➡️ Что это значит: — Сначала пишем код, как будто абстракций не существует — Выявляем повторы, боль, лишнюю связность — Только потом вытаскиваем общие паттерны и оборачиваем в абстракции
Такой путь даёт реальные, работающие абстракции — без фантазий и overengineering.
➡️Какой пример
Вместо создания абстрактной фабрики сразу — начните с двух рабочих реализаций. Только когда появляется третий кейс — имеет смысл обобщать.
Сначала неприятно — потом абстракция. Не наоборот.
Mr. Durov launched Telegram in late 2013 with his brother, Nikolai, just months before he was pushed out of VK, the Russian social-media platform he founded. Mr. Durov pitched his new app—funded with the proceeds from the VK sale—less as a business than as a way for people to send messages while avoiding government surveillance and censorship.